package de.nordakademie.wpk.boerse.core.business;

import java.util.ArrayList;
import java.util.List;

/**
 * Diese Klasse liefert statische Listen mit den Symbolen der Aktien aus DAX,
 * MDAX, SDAX und TecDAX.
 * 
 * @author Marcus Berndt
 * 
 */
public class BoerseStockSymbolProvider {

	public static List<String> getAllSymbols() {
		List<String> symbols = new ArrayList<String>();
		symbols.addAll(getDaxSymbols());
		symbols.addAll(getMDaxSymbols());
		symbols.addAll(getSDaxSymbols());
		symbols.addAll(getTecDaxSymbols());
		return symbols;
	}

	public static List<String> getDaxSymbols() {
		return daxSymbols;
	}

	public static List<String> getMDaxSymbols() {
		return mdaxSymbols;
	}

	public static List<String> getSDaxSymbols() {
		return sdaxSymbols;
	}

	public static List<String> getTecDaxSymbols() {
		return tecDaxSymbols;
	}

	@SuppressWarnings("serial")
	private static final List<String> daxSymbols = new ArrayList<String>() {
		{
			add("63DU.DE");
			add("ADS.DE");
			add("ALV.DE");
			add("BAS.DE");
			add("BAYN.DE");
			add("BEI.DE");
			add("BMW.DE");
			add("CBK.DE");
			add("DAI.DE");
			add("DBK.DE");
			add("DPW.DE");
			add("DTE.DE");
			add("EOAN.DE");
			add("FME.DE");
			add("FRE.DE");
			add("HEI.DE");
			add("HEN3.DE");
			add("IFX.DE");
			add("LHA.DE");
			add("LIN.DE");
			add("MAN.DE");
			add("MEO.DE");
			add("MRK.DE");
			add("MUV2.DE");
			add("RWE.DE");
			add("SAP.DE");
			add("SDF.DE");
			add("SIE.DE");
			add("TKA.DE");
			add("VOW3.DE");
		}
	};

	@SuppressWarnings("serial")
	private static final List<String> mdaxSymbols = new ArrayList<String>() {
		{
			add("ARL.DE");
			add("BNR.DE");
			add("BOS3.DE");
			add("BYW6.DE");
			add("CLS1.DE");
			add("CON.DE");
			add("DEQ.DE");
			add("DEZ.DE");
			add("DOU.DE");
			add("DWNI.DE");
			add("EAD.DE");
			add("FIE.DE");
			add("FPE3.DE");
			add("FRA.DE");
			add("G1A.DE");
			add("GBF.DE");
			add("GFJ.DE");
			add("GIB.DE");
			add("GIL.DE");
			add("GWI1.DE");
			add("GXI.DE");
			add("HDD.DE");
			add("HHFA.DE");
			add("HNR1.DE");
			add("HOT.DE");
			add("KCO.DE");
			add("KD8.DE");
			add("KRN.DE");
			add("KU2.DE");
			add("LEO.DE");
			add("LXS.DE");
			add("MTX.DE");
			add("NDA.DE");
			add("PSM.DE");
			add("PUM.DE");
			add("RAA.DE");
			add("RHK.DE");
			add("RHM.DE");
			add("SAZ.DE");
			add("SGL.DE");
			add("SKYD.DE");
			add("SPR.DE");
			add("SY1.DE");
			add("SZG.DE");
			add("SZU.DE");
			add("TUI1.DE");
			add("VOS.DE");
			add("WCH.DE");
			add("WIN.DE");
			add("ZIL2.DE");
		}
	};

	@SuppressWarnings("serial")
	private static final List<String> sdaxSymbols = new ArrayList<String>() {
		{
			add("2HR.DE");
			add("AAD.DE");
			add("AB1.DE");
			add("AOX.DE");
			add("B5A.DE");
			add("BAF.DE");
			add("BDT.DE");
			add("BIO3.DE");
			add("CEV.DE");
			add("COM.DE");
			add("CWC.DE");
			add("DAZ.DE");
			add("DBA.DE");
			add("DEX.DE");
			add("DUE.DE");
			add("EV4.DE");
			add("EVD.DE");
			add("GFK.DE");
			add("GLJ.DE");
			add("GMM.DE");
			add("GSC1.DE");
			add("HAB.DE");
			add("HAW.DE");
			add("HBH3.DE");
			add("HLG.DE");
			add("INH.DE");
			add("IVG.DE");
			add("JUN3.DE");
			add("KWS.DE");
			add("MLP.DE");
			add("MVV1.DE");
			add("NOEJ.DE");
			add("O2C.DE");
			add("P1Z.DE");
			add("PMO.DE");
			add("PRA.DE");
			add("SAX.DE");
			add("SCUN.DE");
			add("SFQ.DE");
			add("SIX2.DE");
			add("SK1A.DE");
			add("SKB.DE");
			add("SLT.DE");
			add("TEG.DE");
			add("TIM.DE");
			add("TTI.DE");
			add("TTK.DE");
			add("VT9.DE");
			add("WAC.DE");
			add("ZO1.DE");
		}
	};

	@SuppressWarnings("serial")
	private static final List<String> tecDaxSymbols = new ArrayList<String>() {
		{
			add("ADV.DE");
			add("AFX.DE");
			add("AIXA.DE");
			add("BBZA.DE");
			add("BC8.DE");
			add("CTN.DE");
			add("DLG.DE");
			add("DRI.DE");
			add("DRW3.DE");
			add("EVT.DE");
			add("FNTN.DE");
			add("GGS.DE");
			add("JEN.DE");
			add("KBC.DE");
			add("MOR.DE");
			add("NDX1.DE");
			add("O1BC.DE");
			add("PFV.DE");
			add("PSAN.DE");
			add("QCE.DE");
			add("QIA.DE");
			add("QSC.DE");
			add("S92.DE");
			add("SBS.DE");
			add("SMHN.DE");
			add("SNG.DE");
			add("SOW.DE");
			add("SWV.DE");
			add("UTDI.DE");
			add("WDI.DE");
		}
	};

}
